import Vue from 'vue';
import promptDialog from './promptDialog.vue'
/* 
	用于构造一个 Vue 组件构造函数。它接收一个对象作为参数，该对象作为组件的选项配置。 
 */
let MessageConstructor = Vue.extend(promptDialog);
let instance
let seed = 1;
const Message = (data) => {
	const option = data || {}
	if (!instance) {
		instance = new MessageConstructor({});
		let id = 'prompt_dialog_' + seed++;
		instance.id = id;
		instance.$mount();
		// #ifdef APP-PLUS
		uni.createSelectorQuery().select('body').boundingClientRect((rect) => {
			const instance = new Vue({
				render: h => h(App)
			})
			uni.createSelectorQuery().select('body').append(instance.$el).exec()
		})
		// #endif
		// #ifdef H5
		document.body.appendChild(instance.$el);
		// #endif

	}
	instance.show({
		...option,
		close: () => {
			typeof option.close === 'function' && option.close()
		}
	})
}
export default Message